#pragma once

class AbstractRenderHandler
{
public:
	AbstractRenderHandler(QGLWidget *parent)
	{
		inited = false;
		renderForm = parent;
	};

	virtual void initializeGL() = 0;	
    virtual void paintGL() = 0;
	virtual void resizeGL(int width, int height) = 0;

	virtual void mousePressEvent(QMouseEvent *event) = 0;
    virtual void mouseMoveEvent(QMouseEvent *event) = 0;
	virtual void renderLoop() = 0;
	bool initialized(){ return inited; };
	void setInitialized(bool value){ inited = value; };

protected:
	QGLWidget *renderForm;
	bool inited;
};